﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace WindowsGame1
{
    static class Input
    {
        static KeyboardState ks;
        static KeyboardState oks;

        public static void Update()
        {
            oks = ks;
            ks = Keyboard.GetState();
        }

        //função para verificar a mudança de estado de release para Pressed
        public static bool WasKeyPressed(Keys k)
        {
            return ks != oks && ks.IsKeyDown(k);
        }

        //função para verificar a mudança de estado de Pressed para release
        public static bool WasKeyRelease(Keys k)
        {
            return ks != oks && oks.IsKeyDown(k);
        }


        public static bool IsKeyDown(Keys k)
        {
            return ks.IsKeyDown(k);
        }


         public static bool IsKeyUp(Keys k)
        {
            return ks.IsKeyUp(k);
        }

        public static bool KeyCombo(Combo c)
        {
            return false;
        }
        
    }

    // criar uma estrutura de combo para q ao ser pressionada uma sequencia correta de teclas em um determinado tempo para executar o combo.
   // Se o tempo de intervalo passar do estipulado zera o combo
    struct Combo
    {
    
    }



}
